#!/bin/bash

# 设置目标帧率
target_fps="25"

# 设置输出音频格式
audio_format="wav"

# 设置输出视频格式
video_format="mp4"

# 设置输入目录
input_dir="./upload"

# 设置输出目录
output_dir="./fps25"

# 创建输出目录，如果不存在
mkdir -p "$output_dir"

# 遍历输入目录下所有视频文件
find "$input_dir" -maxdepth 1 -type f -regex '.*\.\(avi\|mkv\|mp4\|wmv\|flv\|mov\)$' -print0 | while IFS= read -r -d $'\0' file; do
  echo "处理文件: $file"

  # 获取文件名（不包含路径和扩展名）
  filename_with_ext=$(basename "$file")
  filename_noext="${filename_with_ext%.*}"

  # 构建输出视频文件名
  output_video="$output_dir/${filename_noext}.${video_format}"

  # 构建输出音频文件名
  output_audio="$output_dir/${filename_noext}.${audio_format}"

  # 转换视频为指定帧率的 mp4
  echo "正在转换视频为 $output_video ..."
  ffmpeg -i "$file" -r "$target_fps" -c:v libx264 -preset slow -crf 23 -c:a aac -b:a 128k -nostdin "$output_video"

  # 提取音频为 wav
  echo "正在提取音频为 $output_audio ..."
  ffmpeg -i "$file" -vn -nostdin -ar 44100 "$output_audio"

  echo "处理完成!"
  echo ""
done

echo "所有视频处理完成!"